--- 优惠卷id
local voucherId = AVG[1]
--- 用户id
local userId = AVG[2]
-- 订单id
--local orderId = AVG[3]
-- 数据key
-- 库存key
local stockKey = 'seckill:stock:' .. voucherId
-- 订单key
local orderKey = 'seckill:order:' .. voucherId

-- 脚本业务
-- 判断库存是否充足
if (tonumber(redis.call('get',stockKey))<=0) then
    --库存不足，返回1
    return 1;
end
-- 判断用户是否下单
if (redis.call('sismember',orderKey,userId)==1) then
    return 2
end
-- 扣库存
redis.call('incrby',stockKey,-1)
-- 下单
redis.call('sadd',orderKey,userId)
